/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Forte for Java, Community Edition. The Initial
* Developer of the Original Code is Sun Microsystems, Inc. Portions
* Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.form.compat2;
import org.netbeans.modules.form.util2.NbVersion;
import org.netbeans.modules.form.util2.NbVersionNotCompatibleException;
/** The FormManager manages the design-time behaviour of one form.
*
* @author Ian Formanek
*/
final public class FormManager extends Object
implements java.io.Externalizable {
/** A JDK 1.1 serial version UID */
static final long serialVersionUID = -3613005287076359375L;
/** Netbeans class version */
public static final NbVersion nbClassVersion = new NbVersion (1, 0);
// -----------------------------------------------------------------------------
// Constructor
/** For externalization only. WARNING: Do not use for creating a new instance */
public FormManager () {
}
// -----------------------------------------------------------------------------
// Serialized fields
/** The RADNode for the Form itself */
public RADFormNode rootNode;
/** The DesignForm that is managed by this FormManager */
public DesignForm designForm;
// ------------------------------------------------------
// Serialization
/** Fields to restore before calling this method:
*
* rootNode [RADFormNode]
* designForm [DesignForm]
*
*/
public void writeExternal (java.io.ObjectOutput oo) throws java.io.IOException {
// store the version
oo.writeObject (nbClassVersion);
oo.writeObject (rootNode);
oo.writeObject (designForm);
}
/** Reads this object from the specified stream */
public void readExternal (java.io.ObjectInput oi) throws java.io.IOException, ClassNotFoundException {
org.netbeans.modules.form.FormUtils.DEBUG(">> FormManager: readExternal: START"); // NOI18N
org.netbeans.modules.form.FormUtils.DEBUG("?? FormManager: readExternal: expecting NbVersion"); // NOI18N
// check the version
NbVersion classVersion = (NbVersion) oi.readObject ();
if (!nbClassVersion.isCompatible (classVersion))
throw new NbVersionNotCompatibleException (classVersion, nbClassVersion);
org.netbeans.modules.form.FormUtils.DEBUG("** FormManager: readExternal: loaded: "+classVersion); // NOI18N
org.netbeans.modules.form.FormUtils.DEBUG("?? FormManager: readExternal: expecting RADFormNode"); // NOI18N
Object o = oi.readObject ();
org.netbeans.modules.form.FormUtils.DEBUG("** FormManager: readExternal: loaded: "+o); // NOI18N
rootNode = (RADFormNode) o;
org.netbeans.modules.form.FormUtils.DEBUG("?? FormManager: readExternal: expecting DesignForm"); // NOI18N
Object o2 = oi.readObject ();
org.netbeans.modules.form.FormUtils.DEBUG("** FormManager: readExternal: loaded: "+o2); // NOI18N
designForm = (DesignForm) o2;
org.netbeans.modules.form.FormUtils.DEBUG("<< FormManager: readExternal: END"); // NOI18N
}
}
/*
* Log
* 10 Gandalf 1.9 1/12/00 Ian Formanek NOI18N
* 9 Gandalf 1.8 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun
* Microsystems Copyright in File Comment
* 8 Gandalf 1.7 5/15/99 Ian Formanek
* 7 Gandalf 1.6 5/12/99 Ian Formanek
* 6 Gandalf 1.5 5/10/99 Ian Formanek package change plus
* other minor changes
* 5 Gandalf 1.4 5/4/99 Ian Formanek package change
* (formeditor -> ..)
* 4 Gandalf 1.3 4/29/99 Ian Formanek
* 3 Gandalf 1.2 3/29/99 Ian Formanek Uses FormUtils.DEBUG to
* print messages
* 2 Gandalf 1.1 3/28/99 Ian Formanek
* 1 Gandalf 1.0 3/28/99 Ian Formanek
* $
*/